package com.zdkj.subway.check.entity;

import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.springframework.data.annotation.Id;
import org.springframework.format.annotation.DateTimeFormat;

import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 2-2-8、TVM票款差异协查-现金层级差异-分钱箱信息 Hierarchy
 */
@Slf4j
@Data
public class SwAuTvmCashboxAmountHierarchyDifference {

    /**
     * 唯一标识
     */
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    Integer id;
    /**
     * TVM分钱箱审核ID
     */
    Integer relationSourceboxId;
    /**
     * 线路编码
     */
    String lineCode;
    /**
     * 车站编码
     */
    String stationCode;
    /**
     * 结算日期
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    Date settleTime;
    /**
     * TVM编号
     */
    String tvmOrder;
    /**
     * TVM钱箱号
     */
    String tvmMoneyOrder;
    /**
     * 钱箱类型
     */
    String tvmMoneyType;
    /**
     * 类型
     */
    String type;
    /**
     * 结账单据金额
     */
    BigDecimal depositAmount;
    /**
     * SC系统清点金额（分）
     */
    BigDecimal saleAmount;
    /**
     * 协查状态
     */
    String assistStatus;
//    String replyStatus;
    /**
     * 下发协查时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    Date sendAssistTime;
    /**
     * 机电专业回馈差异原因（字典）
     */
    String jdReplyReason;
    /**
     * 机电专业回馈详情
     */
    String jdReplyDetail;
    /**
     * 机电操作人ID
     */
    String jdOperatorCode;
    /**
     * 机电操作人姓名
     */
    String jdOperatorName;
    /**
     * 机电回馈时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    Date jdReplyTime;
    /**
     * 清分专业回馈差异原因（字典）
     */
    String qfReplyReason;
    /**
     * 清分专业回馈详情
     */
    String qfReplyDetail;
    /**
     * 清分操作人ID
     */
    String qfOperatorCode;
    /**
     * 清分操作人姓名
     */
    String qfOperatorName;
    /**
     * 清分回馈时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    Date qfReplyTime;
    /**
     * 创建人ID
     */
    Integer creatorId;
    /**
     * 创建时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    Date createTime;
    /**
     * 回馈系统清点金额
     */
    BigDecimal replySystemAmount;

    /**
     * 替换状态
     */
    String replaceStatus;
    /**
     * 替换状态为已替换时，存储的替换来源数据Id
     */
    Integer replaceSourceId;

}
